iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
自我挑戰組

轉職未滿一年的點點滴滴系列 第 5

[Day 5] -『 GO語言學習筆記』- 宣告變數(variables)

  • 分享至 

  • xImage
  •  

以下筆記摘錄自『 The Go Workshop 』。

宣告變數需滿足四個條件:

  1. 宣告變數的敘述
  2. 變數名稱
  3. 變數要儲存的資料型別
  4. 變數的初始值

用var宣告變數

var <變數名稱> <變數型別> = <值>

用var一次宣告多個變數

var (
    <名稱 1> <型別 1> = <值 1>
    <名稱 2> <型別 2> = <值 2>
    ...
    <名稱 N> <型別 N> = <值 N>
)

用var宣告變數時省略型別或賦值

宣告變數時,
只給型別,沒有給初始值,Go語言會自動為變數賦予該型別特有的零值(Zero value)
沒有給型別,只給初始值,Go語言會根據你給的初始值去推斷要採用什麼型別,但有時不得不在宣告變數時,明確寫出每個環節。

短變數宣告(sort variable declaration)

只有在函式內(包含main())中宣告變數,可用 := 簡寫。

<名稱> := <值>

短變數宣告建立多重變數

<變數 1>, <變數 2>, ..., <變數 N> := <值 1>, <值 2>, ..., <值 N>

雖然Go語言是靜態型別的語言,需要在執行前明確變數的資料型別以及大小,但短變數宣告的存在,就是Go語言讓人『感覺像』動態程式語言的主因。

非英語的變數名稱

Go支援UTF-8,所以可以用非拉丁字母來變數命名,但命名並非完全無限制,例如首字母必須是字元或底線 _。

更改單一變數的值

<變數> = <值>

一次更改多個變數值

<變數 1>, <變數 2>, ..., <變數 N> = <值 1>, <值 2>, ..., <值 N>

正常情況下無法對已經宣告過的變數使用短變數再次賦值,但若短變數選告左側有多重變數,同時有建立新變數和賦值給舊變數,則寫法可以成立。

for example,

func main() {
	query, limit, offset := "bat", 10, 0
	query, maxLength, offset := "apple", limit, 20
	fmt.Println("query, maxLength, offset: ", query, maxLength, offset)
}

會輸出query, maxLength, offset: apple 10 20


上一篇
[Day 4] -『 GO語言學習筆記』- GO語言架構介紹
下一篇
[Day 6] -『 GO語言學習筆記』- 值 vs. 指標(pointers)
系列文
轉職未滿一年的點點滴滴30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言